/**
 * 
 */
package com.furb.pub.persistencia;

import java.io.File;
import java.util.HashSet;
import java.util.Set;

import com.furb.pub.controle.sistema.Mesa;

/**
 * @author Fernando
 * 
 */
public class AdapterMesaDao extends MesaDao {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    public AdapterMesaDao() {
        //        IDao instance = FactoryDao.getInstance(MesaDao.class.getName());
    }

    public Set<Mesa> findMesasForSetor(String setor) {

        if (setor == null) {
            throw new IllegalArgumentException();
        }

        File pasta = new File(PASTA_MESAS);

        Set<Mesa> mesas = new HashSet<>();

        try {
            String[] arquivos = pasta.list();

            for (String arquivo : arquivos) {
                if (!FacadeDao.ehArquivoSistema(arquivo)) {
                    continue;
                }

                Mesa mesa = getMesaArquivo(arquivo);

                if (mesa != null && mesa.getSetor().getNome().equalsIgnoreCase(setor)) {
                    mesas.add(mesa);
                }

            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return mesas;
    }

}
